package com.ailesson.order.model.reply;


import java.math.BigDecimal;
import java.io.Serializable;
import java.time.LocalDateTime;

import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 订单表 订单表
 * 
 * @author mac
 * @email mac@gmail.com
 * @date 2024-10-12 21:32:50
 */
@Schema(name = "返回值")
@Data
public class OrderInfoReply implements Serializable{
	private static final long serialVersionUID = 1L;

	/**
	 * 编号
	 */
	@Schema(name = "id", description = "编号", type = "Long")
    private Long id;
	/**
	 * 用户id
	 */
	@Schema(name = "userId", description = "用户id", type = "Long")
    private Long userId;
	/**
	 * 
	 */
	@Schema(name = "nickName", description = "", type = "String")
    private String nickName;
	/**
	 * 
	 */
	@Schema(name = "phone", description = "", type = "String")
    private String phone;
	/**
	 * 原始金额
	 */
	@Schema(name = "originAmount", description = "原始金额", type = "BigDecimal")
    private BigDecimal originAmount;
	/**
	 * 优惠券减免
	 */
	@Schema(name = "couponReduce", description = "优惠券减免", type = "BigDecimal")
    private BigDecimal couponReduce;
	/**
	 * 最终金额
	 */
	@Schema(name = "finalAmount", description = "最终金额", type = "BigDecimal")
    private BigDecimal finalAmount;
	/**
	 * 订单状态
	 */
	@Schema(name = "orderStatus", description = "订单状态", type = "String")
    private String orderStatus;
	/**
	 * 订单交易编号（第三方支付用)
	 */
	@Schema(name = "outTradeNo", description = "订单交易编号（第三方支付用)", type = "String")
    private String outTradeNo;
	/**
	 * 订单描述(第三方支付用)
	 */
	@Schema(name = "tradeBody", description = "订单描述(第三方支付用)", type = "String")
    private String tradeBody;
	/**
	 * session id
	 */
	@Schema(name = "sessionId", description = "session id", type = "String")
    private String sessionId;
	/**
	 * 地区id
	 */
	@Schema(name = "province", description = "地区id", type = "String")
    private String province;
	/**
	 * 支付时间
	 */
	@Schema(name = "payTime", description = "支付时间", type = "LocalDateTime")
    private LocalDateTime payTime;
	/**
	 * 失效时间
	 */
	@Schema(name = "expireTime", description = "失效时间", type = "LocalDateTime")
    private LocalDateTime expireTime;
	/**
	 * 创建时间
	 */
	@Schema(name = "createTime", description = "创建时间", type = "LocalDateTime")
    private LocalDateTime createTime;
	/**
	 * 
	 */
	@Schema(name = "updateTime", description = "", type = "LocalDateTime")
    private LocalDateTime updateTime;

}
